package linkedList.双指针;

import linkedList.BaseLinkedListTest;
import po.ListNode;

/**
 * @author songZiHao
 * @version 1.0.0
 * @ClassName 环形链表141.java
 * @Description  https://leetcode-cn.com/problems/linked-list-cycle/
 * 给你一个链表的头节点 head ，判断链表中是否有环。
 * @createTime 2021年03月11日 19:18:00
 */
public class 环形链表141 extends BaseLinkedListTest {

    /**
     * 给你一个链表的头节点 head ，判断链表中是否有环。
     */
    public boolean hasCycle(ListNode head) {
        if (head == null || head.next == null) {
            return false;
        }
        ListNode slowPoint = head, fastPoint = head.next;
        while (fastPoint != slowPoint) {
            if (fastPoint==null || fastPoint.next==null){
                return false;
            }
            slowPoint=slowPoint.next;
            fastPoint=fastPoint.next.next;
        }
        return true;
    }
}
